آموزش Microservice با .Net
در دوره آموزش Microservices با .NET، با اصول معماری میکروسرویسها و تفاوت آن با معماریهای سنتی مانند Monolithic آشنا میشوید. سپس نحوه طراحی سرویسهای مستقل، ارتباط بین سرویسها و مدیریت دادهها را بهصورت عملی یاد میگیرید. در طول دوره، مفاهیمی مانند طراحی API، ارتباط بین سرویسها، مدیریت دیتابیس، Dependency Injection، احراز هویت و مجوزدهی، مدیریت خطا، Logging و الگوهای طراحی مناسب برای معماری Microservices بررسی میشوند. همچنین با ابزارها و تکنولوژیهای کاربردی مانند Docker، Message Brokerها، API Gateway و مفاهیم مربوط به Containerization آشنا خواهید شد و نحوه اجرای سرویسهای مختلف در محیط توسعه و تولید را یاد میگیرید. در پایان دوره، توانایی طراحی و پیادهسازی یک سیستم مبتنی بر معماری Microservices با .NET را خواهید داشت و میتوانید پروژههای مقیاسپذیر و قابل توسعه را با این معماری ایجاد کنید.
سرفصل جلسات دوره
15 جلسهMicroservices چیست؟ تفاوت Monolithic و Microservices مزایا و معایب معماری Microservices مفهوم سرویس مستقل Service Boundary استقلال تیمها و سرویسها مقیاسپذیری در Microservices معرفی پروژه نهایی دوره
نصب و تنظیم .NET آشنایی با ASP.NET Core ساخت پروژه Web API ساختار پروژههای .NET Dependency Injection Configuration و Environment مدیریت Packageها با NuGet ایجاد Solution برای چند سرویس
تحلیل نیازمندیهای سرویس تعیین مرزهای سرویس ایجاد اولین Microservice طراحی Controller و Endpoint مدیریت Request و Response DTO و Mapping پیادهسازی CRUD تست API با Swagger
مفهوم Database per Service انتخاب دیتابیس مناسب اتصال سرویس به SQL Server پیادهسازی Entity Framework Core طراحی Entity و Relationship Migration Repository و Service Layer مدیریت تراکنشها
روشهای ارتباط سرویسها Synchronous و Asynchronous Communication ارتباط HTTP و REST استفاده از HttpClient Typed Client مدیریت Timeout Retry و Fault Handling مدیریت خطا در ارتباط بین سرویسها
API Gateway چیست؟ مزایای استفاده از Gateway طراحی Gateway برای پروژه معرفی و پیادهسازی با YARP Routing درخواستها Load Balancing مدیریت Authentication در Gateway Rate Limiting مدیریت خطا و دسترسی سرویسها
Authentication و Authorization JWT چیست؟ پیادهسازی JWT در .NET Identity و مدیریت کاربران Role و Claim ارسال Token بین سرویسها اعتبارسنجی Token مدیریت Secretها و اطلاعات حساس
مفهوم Message Broker مزایای ارتباط Asynchronous Event و Message معرفی RabbitMQ ایجاد Producer ایجاد Consumer Queue و Exchange پیادهسازی ارتباط بین سرویسها
معماری Event-Driven Domain Event و Integration Event طراحی Eventها Publish و Subscribe Eventual Consistency مدیریت Duplicate Message Idempotency مدیریت خطا و Retry در Eventه
Docker چیست؟ Container در معماری Microservices ایجاد Dockerfile ساخت Docker Image اجرای Container Docker Compose اجرای چند Microservice همزمان اتصال سرویسها، دیتابیس و RabbitMQ
اهمیت Observability در Microservices Logging در ASP.NET Core Structured Logging معرفی Serilog Centralized Logging Trace و Correlation ID Health Check Monitoring وضعیت سرویسها
چالشهای Distributed System Circuit Breaker Retry Policy Timeout Rate Limiting معرفی Polly مدیریت سرویسهای Down شده طراحی سیستم مقاوم در برابر خطا
اهمیت تست در معماری Microservices Unit Test Integration Test تست APIها تست ارتباط بین سرویسها Mock کردن وابستگیها تست Message Broker تست سناریوهای خطا آمادهسازی تستهای خودکار
مفهوم CI/CD ساخت Pipeline Build و Test خودکار ساخت Docker Image در Pipeline مدیریت Environmentها Deploy سرویسها مدیریت Configuration و Secretها آشنایی با Kubernetes و Container Orchestration
تحلیل و طراحی پروژه واقعی تقسیم سیستم به Microserviceها طراحی Database برای هر سرویس پیادهسازی APIها پیادهسازی API Gateway احراز هویت و Authorization ارتباط HTTP و RabbitMQ Dockerize کردن پروژه Logging و Health Check اجرای پروژه بهصورت کامل تست و رفع خطا آمادهسازی برای Production